package converter

import (
	"bilibili_converter/flags"
	"log"
	"os"
	"strings"
)

// 用户输入的命令实体
type Command struct {
	Source   string
	Target   string
	TempPath string
	Num      uint
	Wrap     bool
}

func (command *Command) Check() {
	if strings.Trim(command.Source, " ") == "" {
		log.Printf("Target 不能为空\n")
		flags.Usage()
		os.Exit(2)
	}
	if strings.Trim(command.Target, " ") == "" {
		command.Target = command.Source
	}
}

// 从Source路径读取出来的文件信息
type CacheDirInfo struct {
	RootPath  string
	FileInfos []os.FileInfo
}

type CacheVideoDir struct {
	Type VideoType
	// 合并文件的目标目录 target + Title
	Title string
	// 需要合并的文件
	FileInfo []*CacheFileInfo
}

// CacheFileInfo 哔哩哔哩
type CacheFileInfo struct {
	// 视频文件名称
	Title string
	// 视频文件的后缀
	Suffix string

	// 合并的文件列表
	Videos []string
}
